package com.alks.function.service.stockdept.pcfactorystockquery;


import com.alks.entity.data.entity.PcSupplementHead;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.stockdept.pcfactorystockwork.*;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

public interface IPcSubWorkService extends IService<PcSupplementHead> {

    ResponseInfo getSpHeadQuery(SpHeadRequest request);

    ResponseInfo getSpPartQuery(String lotNo);

    ResponseInfo getSpPartSubQuery(SpPartSubRequest request);

    ResponseInfo getSpPartAppQuery(String lotNo, String slipNo);

    ResponseInfo spPartAdd(SpPartRequest request);

    ResponseInfo spMtlAdd( String slipNo);

    ResponseInfo spDetailCopyUpdate(SpDetailCopyReqiest request);

    ResponseInfo spPrintUpdate(String slipNo);

    ResponseInfo spTurnCfmUpdate(String slipNo, Integer type);

    ResponseInfo getDutyFileQuery(Integer type);

    ResponseInfo getDutyFileAdd(List<DutyFileRequest> request, Integer type);

    ResponseInfo getDutyFileUpdate(List<DutyFileRequest> request, Integer type);

    ResponseInfo dutyFileAdd(DutyAddRequest request, BigDecimal qty, Integer type, Integer flag);

    ResponseInfo spDetailUpdate(List<SpDetailUpRequest> request, Integer sizeNum);

    ResponseInfo spRemakrUpdate(String slipNo, String remark);

    void parentComputer(Integer size);

    ResponseInfo spAllDelete(String slipNo);

    ResponseInfo getSpDetailQery(String slipNo);

    ResponseInfo getNumberQery(String slipNo, String lotNo, String style);

    ResponseInfo spHeadUpdate(String slipNo, String slipType);

    ResponseInfo dutyDetailDelete(DutyDtRequest request);

    ResponseInfo getSpDetailDelete(String slipNo, String lotNo, String seqNo);

    ResponseInfo dutyFileDelete(DutyAddSub request, Integer type);

    /**
     * 清空责任明细
     */
    void dutyDetailClear(Integer type);

    /**
     * 补单作废
     * @param slipNo 订单号
     * @param invFlag 作废状态
     */
    void invalid(String slipNo, String invFlag);
}
